package tech.waterism.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import tech.waterism.entity.*;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "模型索引Dto")
public class FMIndexDto extends FMIndex {
    /**
     * 原方案模型代码
     */
    @ApiModelProperty(value = "原方案模型代码")
    private String mdcdOri;
    /**
     * 参数列表
     */
    @ApiModelProperty(value = "参数列表")
    private List<FMParameter> parameters;
    /**
     * 非率定参数列表
     */
    @ApiModelProperty(value = "非率定参数列表")
    private List<FMParameterDto> extraParameters;
    /**
     * 状态列表
     */
    @ApiModelProperty(value = "状态列表")
    private List<FMStatusDto> statuses;

    /**
     * 末时刻状态列表
     */
    @ApiModelProperty(value = "末时刻状态列表")
    private List<FMStatusDto> statusesEnd;
    /**
     * 率定参数区间
     * 仅用于变换数据结构
     */
    @ApiModelProperty(value = "率定参数区间")
    private List<FMParascope> parascopes;
    /**
     * 率定参数关系
     * 仅用于变换数据结构
     */
    @ApiModelProperty(value = "率定参数关系")
    private List<FMPararelation> pararelation;
    /**
     * 率定参数区间
     */
    @ApiModelProperty(value = "率定参数区间--moea")
    private List<FMCaliparascopeDto> caliParascopes;
    /**
     * 率定参数关系
     */
    @ApiModelProperty(value = "率定参数关系--moea")
    private List<FMCalipararelation> caliPararelation;
    /**
     * 可替换模型列表
     */
    @ApiModelProperty(value = "可替换模型列表")
    private List<FMIndexDto> modelList;
}
